如果你還不了解電腦的原理,在此推薦一本很棒的入門書。《電腦如何思考 》[1]
他會告訴你最底層的電腦在做什麼事情,他說工程師就像現代的魔法師,他們把魔法刻在石頭上。確實,矽(Si)是構成沙子、水晶的成分,這麼說並不為過。我一直對這樣的說法深深著迷,更加深我想了解電腦的好奇心。
另外網路上有一門免費課程叫做「 From NAND to Tetris 」[2],它教你如何從邏輯閘開始,一路往上建構基本的邏輯元件、機器語言、基本的電腦、作業系統、更上層的抽象語言。學過的人可以從頭到腳完整地認識電腦的每一個層面,就像一口氣把巨無霸漢堡吃下肚的感覺,絕對讓你收穫滿滿。
我一開始入門的時候,是先從 DOS 指令、Html 語法,學習用「文字指令」去控制電腦,到後面學C語言,越學越底層,也越來越了解電腦是怎麼運作的?然後發現原本有這麼多層封裝。
電腦之所能夠運算,是因為人們透過一種方式轉換了邏輯運算,讓電腦可以「模擬」數字運算,而後透過編碼,讓文字對應到某個特殊編號。至此,電腦開始能夠算數字、寫文章。這背後要講一個技術叫做「編碼」,也可以說是「翻譯」。後面陸陸續續地,「顏色」被編碼了,「聲音」被編碼了,於是開始有了色彩和聲音。
但這些還比不上「指令編碼」,這是為什麼電腦之所以無所不能的原因。
明天,我將介紹一台萬能的電腦-圖靈機。
[1] https://www.books.com.tw/products/0010071581
[2] https://www.nand2tetris.org/ 課程大綱如下:
0. From Nand to Tetris